home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Windows Expert
/
Windows Expert.iso
/
drivers
/
xgav210.zip
/
XGAPCDOS
/
AFIDATA.H
next >
Wrap
Text File
|
1993-07-21
|
69KB
|
995 lines
/* (C) Copyright IBM Corporation 1986,1987,1988,1989,1990 ********************/
/* */
/* Program: Definitions and declarations relevant to the */
/* Adapter Interface */
/* */
/* File/module: AFIDATA.H */
/* */
/* AI Base Function */
/* + Extended Function Sets (1) and (2) */
/* */
/*****************************************************************************/
#define HLINE_DATA(S) struct { word length; coord_pr coords[S]; }
/* usage: HLINE_DATA(size) will give the following structure */
/* */
/* struct */
/* { */
/* word length; */
/* coord_pr coords[size]; */
/* } */
/* */
#define HCLINE_DATA(S) struct { word length; coord_pr coords[S]; }
/* usage: HCLINE_DATA(size) will give the following structure */
/* */
/* struct */
/* { */
/* word length; */
/* coord_pr coords[size]; */
/* } */
/* */
#define HRLINE_DATA(S) struct { word length; coord_pr coord1; rcoord_pr rcoords[S]; }
/* usage: HRLINE_DATA(size) will give the following structure */
/* */
/* struct */
/* { */
/* word length; */
/* coord_pr coord1; */
/* rcoord_pr rcoords[size]; */
/* } */
/* */
#define HCRLINE_DATA(S) struct { word length; rcoord_pr rcoords[S]; }
/* usage: HCRLINE_DATA(size) will give the following structure */
/* */
/* struct */
/* { */
/* word length; */
/* rcoord_pr rcoords[size]; */
/* } */
/* */
#define HSCP_DATA struct { word length; coord_pr coord1; }
/* usage: HSCP_DATA will give the following structure */
/* */
/* struct */
/* { */
/* word length; */
/* coord_pr coord1; */
/* } */
/* */
/* There is no HBAR data */
/* */
#define HEAR_DATA struct { word length; byte flags; }
/* usage: HEAR_DATA will give the following structure */
/* */
/* struct */
/* { */
/* word length; */
/* byte flags; */
/* } */
/* */
#define HSCOL_DATA struct { word length; long index; }
/* usage: HSCOL_DATA will give the following structure */
/* */
/* struct */
/* { */
/* word length; */
/* long index; */
/* } */
/* */
#define HOPEN_DATA struct { word length; byte oflags,mode,iflags; }
/* usage: HOPEN_DATA will give the following structure */
/* */
/* struct */
/* { */
/* word length; */
/* byte oflags, */
/* mode, */
/* iflags; */
/* } */
/* */
/* */
#define HSMX_DATA struct { word length; byte foremix; byte backmix; }
/* usage: HSMX_DATA will give the following structure */
/* */
/* struct */
/* { */
/* word length; */
/* byte foremix; */
/* byte backmix; */
/* } */
/* */
#define MIX_NOC 0x00 /* No change to mix */
#define MIX_OR 0x01 /* OR */
#define MIX_OVER 0x02 /* Overpaint */
#define MIX_XOR 0x04 /* Exclusive OR */
#define MIX_LEAVE 0x05 /* Leave alone */
#define MIX_ADD 0x08 /* Add colour to screen */
#define MIX_SUB 0x09 /* screen - colour */
#define MIX_MEAN 0x0B /* average of screen & colour */
#define HSBCOL_DATA struct { word length; long index; }
/* usage: HSBCOL_DATA will give the following structure */
/* */
/* struct */
/* { */
/* word length; */
/* long index; */
/* } */
/* */
#define HSLT_DATA struct { word length; byte index, reserved; byte far *def; }
/* usage: HSLT_DATA will give the following structure */
/* */
/* struct */
/* { */
/* word length; */
/* byte index; */
/* byte reserved; */
/* byte far *def; */
/* } */
/* */
#define HSLW_DATA struct { word length; byte index; }
/* usage: HSLW_DATA will give the following structure */
/* */
/* struct */
/* { */
/* word length; */
/* byte index; */
/* } */
/* */
/* There is no HEGS data */
/* */
#define HSGQ_DATA struct { word length; word index; }
/* usage: HSGQ_DATA will give the following structure */
/* */
/* struct */
/* { */
/* word length; */
/* word index; */
/* } */
/* */
#define HSCMP_DATA struct { word length; long col; byte function; }
/* usage: HSCMP_DATA will give the following structure */
/* */
/* struct */
/* { */
/* word length; */
/* long col; */
/* byte function; */
/* } */
/* */
#define HINT_DATA struct { word length; long eventid; }
/* usage: HINT_DATA will give the following structure */
/* */
/* struct */
/* { */
/* word length; */
/* long eventid; */
/* } */
/* */
#define HSPATTO_DATA struct { word length; coord_pr coord1; }
/* usage: HSPATTO_DATA will give the following structure */
/* */
/* struct */
/* { */
/* word length, */
/* coord_pr coord1; */
/* } */
/* */
#define HSPATT_DATA struct { word length; byte width,height,flags,reserved; word img_length; byte far *image, far *colour; }
/* usage: HSPATT_DATA will give the following structure */
/* */
/* struct */
/* { */
/* word length; */
/* byte width, */
/* height, */
/* flags, */
/* reserved; */
/* word img_length; */
/* byte far *image, */
/* far *colour; */
/* } */
/* */
#define HLDPAL_DATA struct { word length; byte pal_id,res1;word first,count;byte far *address; }
/* usage: HLDPAL_DATA will give the following structure */
/* */
/* struct */
/* { */
/* word length; */
/* byte pal_id, */
/* res1; */
/* word first, */
/* count; */
/* byte far *address; */
/* } */
/* */
#define HSHS_DATA struct { word length;word l,r,b,t;byte far *address;byte flags;}
/* usage: HSHS_DATA will give the following structure */
/* */
/* struct */
/* { */
/* word length; */
/* word l, */
/* r, */
/* b, */
/* t; */
/* byte far *address; */
/* byte flags; */
/* } */
/* */
#define HBBW_DATA struct { word length,format,width,height; coord_pr coord; word l,t,w,h; }
/* usage: HBBW_DATA will give the following structure */
/* */
/* struct */
/* { */
/* word length, */
/* format, */
/* width, */
/* height, */
/* coord_pr coord; */
/* word l, */
/* t, */
/* w, */
/* h; */
/* } */
/* */
#define HCBBW_DATA struct { word length,format,width,height,l,t,w,h; }
/* usage: HCBBW_DATA will give the following structure */
/* */
/* struct */
/* { */
/* word length, */
/* format, */
/* width, */
/* height, */
/* l, */
/* t, */
/* w, */
/* h; */
/* } */
/* */
#define HBBR_DATA struct { word length,format,width,height; byte plane,reserved; coord_pr coord; word l,t,w,h;}
/* usage: HBBR_DATA will give the following structure */
/* */
/* struct */
/* { */
/* word length, */
/* format, */
/* width, */
/* height, */
/* byte plane, */
/* reserved; */
/* coord_pr coord; */
/* word l, */
/* t, */
/* w, */
/* h, */
/* } */
/* */
#define HBBCHN_DATA struct { word length; byte far *address; word len; }
/* usage: HBBCHN_DATA will give the following structure */
/* */
/* struct */
/* { */
/* word length; */
/* byte far *address; */
/* word len; */
/* } */
/* */
#define HBBC_DATA struct { word length,format,width,height; byte plane,reserved; coord_pr source,dest; }
/* usage: HBBC_DATA will give the following structure */
/* */
/* struct */
/* { */
/* word length, */
/* format, */
/* width, */
/* height, */
/* byte plane, */
/* reserved; */
/* coord_pr source, */
/* dest; */
/* } */
/* */
#define HSCOORD_DATA struct { word length; byte acformat,rcformat,ndimens; }
/* usage: HSCOORD_DATA will give the following structure */
/* */
/* struct */
/* { */
/* word length; */
/* byte acformat, */
/* rcformat, */
/* ndimens; */
/* } */
/* */
#define HQCOORD_DATA struct { word length; byte acformat,rcformat,ndimens,result; }
/* usage: HQCOORD_DATA will give the following structure */
/* */
/* struct */
/* { */
/* word length; */
/* byte acformat, */
/* rcformat, */
/* ndimens, */
/* result; */
/* } */
/* */
#define HSMODE_DATA struct { word length; byte scformat,flags; }
/* usage: HSMODE_DATA will give the following structure */
/* */
/* struct */
/* { */
/* word length; */
/* byte scformat, */
/* flags; */
/* } */
/* */
#define HQMODE_DATA struct { word length; byte mode; byte clvl[2]; byte atype,dtype,ac_w,ac_h,nplanes;word width,height,h_pitch,v_pitch;byte moco,n_i_lvls,areafp,vga; }
/* usage: HQMODE_DATA will give the following structure */
/* */
/* struct */
/* { */
/* word length; */
/* byte mode; */
/* byte clvl[2]; */
/* byte atype, */
/* dtype, */
/* ac_w, */
/* ac_h, */
/* nplanes; */
/* word width, */
/* height, */
/* h_pitch, */
/* v_pitch; */
/* byte moco, */
/* n_i_lvls, */
/* areafp, */
/* vga; */
/* } */
/* */
#define HQMODES_DATA struct { word length; byte atype,modes[32]; }
/* usage: HQMODES_DATA will give the following structure */
/* */
/* struct */
/* { */
/* word length; */
/* byte atype, */
/* modes[32]; */
/* } */
/* */
#define HQDPS_DATA struct { word length; word size, stack, palbufsize; longword vramsize,areafpsize; }
/* usage: HQDPS_DATA will give the following structure */
/* */
/* struct */
/* { */
/* word length; */
/* word size, */
/* stack, */
/* palbufsize; */
/* longword vramsize, */
/* areafpsize, */
/* } */
/* */
#define HRECT_DATA struct { word length; coord_pr coord; word width,height; }
/* usage: HRECT_DATA will give the following structure */
/* */
/* struct */
/* { */
/* word length; */
/* coord_pr coord; */
/* word width, */
/* height; */
/* } */
/* */
#define HRECTS_DATA(S) struct { word length; rect_def rect[S]; }
/* usage: HRECTS_DATA(size) will give the following structure */
/* */
/* struct */
/* { */
/* word length; */
/* rect_def rect[size]; */
/* } */
/* */
#define HSBP_DATA struct { word length; longword grupdate, alupdate, display; byte flags, reserved; longword green_msk, red_msk, blue_msk; }
/* usage: HSBP_DATA will give the following structure */
/* */
/* struct */
/* { */
/* word length; */
/* longword grupdate, */
/* alupdate, */
/* display; */
/* byte flags, */
/* reserved; */
/* longword green_msk, */
/* red_msk, */
/* blue_msk; */
/* } */
/* */
#define HCLOSE_DATA struct { word length; word flags; }
/* usage: HCLOSE_DATA will give the following structure */
/* */
/* struct */
/* { */
/* word length; */
/* word flags; */
/* } */
/* */
/* */
/* There is no HESC data */
/* */
#define HXLATE_DATA struct { word length; longword table[8]; }
/* usage: HXLATE_DATA will give the following structure */
/* */
/* struct */
/* { */
/* word length; */
/* longword table[8]; */
/* } */
/* */
struct CharSetDef /* Character Set Definition block */
{
byte reserve1; /* reserved */
byte csettype; /* Char set type 0 - image/triplane image */
/* 3 - short stroke vector */
long reserve2; /* reserved */
byte reserve3; /* reserved */
byte cellwidth; /* character cell width (pels) */
byte cellheight; /* character cell height (pels) */
byte reserve4; /* reserved */
word cellnbytes; /* no. bytes per cell definition (ceil(cx*cy/8))*/
word flags; /* Flags as follows */
#define MULTIPLANE 0x4000 /* single or multi plane */
#define PROPSPACE 0x2000 /* single or multi plane */
word far *indextbl; /* address of index table */
byte far *enveltbl; /* address of envelope table */
byte cdpt1st; /* initial code point */
byte cdptlast; /* final code point */
byte far *chardef1; /* address of character definition 1 */
word reserve5; /* reserved */
byte far *chardef2; /* address of character definition 2 */
word reserve6; /* reserved */
byte far *chardef3; /* address of character definition 3 */
};
#define HSCS_DATA struct { word length; struct CharSetDef far *address; }
/* usage: HSCS_DATA will give the following structure */
/* */
/* struct */
/* { */
/* word length; */
/* struct CharSetDef far *address; */
/* } */
/* */
#define HCHST_DATA(L) struct { word length; coord_pr coord; char string[L]; }
/* usage: HCHST_DATA will give the following structure */
/* */
/* struct */
/* { */
/* word length; */
/* coord_pr coord; */
/* char string[L]; */
/* } */
/* */
#define HCCHST_DATA(L) struct { word length; char string[L]; }
/* usage: HCCHST_DATA will give the following structure */
/* */
/* struct */
/* { */
/* word length; */
/* char string[L]; */
/* } */
/* */
#define ABLKMFI_DATA struct { word length; byte colm,row,across,down; byte far *chars; byte width; }
/* usage: ABLKMFI_DATA will give the following structure */
/* */
/* struct */
/* { */
/* word length; */
/* byte colm, */
/* row, */
/* across, */
/* down; */
/* byte far *chars; */
/* byte width; */
/* } */
/* */
#define ABLKCGA_DATA struct { word length; byte colm,row,across,down; byte far *chars; byte width,hilite; }
/* usage: ABLKCGA_DATA will give the following structure */
/* */
/* struct */
/* { */
/* word length; */
/* byte colm, */
/* row, */
/* across, */
/* down; */
/* byte far *chars; */
/* byte width, */
/* hilite; */
/* } */
/* */
#define AERASE_DATA struct { word length; byte colm,row,across,down,colour; }
/* usage: AERASE_DATA will give the following structure */
/* */
/* struct */
/* { */
/* word length; */
/* byte colm, */
/* row, */
/* across, */
/* down, */
/* colour; */
/* } */
/* */
#define ASCROLL_DATA struct { word length; byte sor_colm,sor_row,across,down,des_colm,des_row; }
/* usage: ASCROLL_DATA will give the following structure */
/* */
/* struct */
/* { */
/* word length; */
/* byte sor_colm, */
/* sor_row, */
/* across, */
/* down, */
/* des_colm; */
/* des_row; */
/* } */
/* */
#define ACURSOR_DATA struct { word length; byte colm,row; }
/* usage: ACURSOR_DATA will give the following structure */
/* */
/* struct */
/* { */
/* word length; */
/* byte colm, */
/* row; */
/* } */
/* */
#define ASCUR_DATA struct { word length; byte start,stop,attr; }
/* usage: ASCUR_DATA will give the following structure */
/* */
/* struct */
/* { */
/* word length; */
/* byte start, */
/* stop, */
/* attr; */
/* } */
/* */
#define ASFONT_DATA struct { word length; byte font,res; struct CharSetDef far *address; }
/* usage: ASFONT_DATA will give the following structure */
/* */
/* struct */
/* { */
/* word length; */
/* byte font, */
/* res; */
/* struct CharSetDef far *address; */
/* } */
/* */
#define AXLATE_DATA struct { word length; longword foretable[16],backtable[16]; }
/* usage: AXLATE_DATA will give the following structure */
/* */
/* struct */
/* { */
/* word length; */
/* longword foretable[16], */
/* backtable[16]; */
/* } */
/* */
#define HINIT_DATA struct { word length; word segment; }
/* usage: HINIT_DATA will give the following structure */
/* */
/* struct */
/* { */
/* word length; */
/* word segment; */
/* } */
/* */
#define HSYNC_DATA struct { word length; word segment; }
/* usage: HSYNC_DATA will give the following structure */
/* */
/* struct */
/* { */
/* word length; */
/* word segment; */
/* } */
/* */
#define HMRK_DATA(S) struct { word length; coord_pr coords[S];}
/* usage: HMRK_DATA will give the following structure */
/* */
/* struct */
/* { */
/* word length; */
/* coord_pr coords[S] */
/* } */
/* */
#define HCMRK_DATA(S) struct { word length; coord_pr coords[S];}
/* usage: HCMRK_DATA will give the following structure */
/* */
/* struct */
/* { */
/* word length; */
/* coord_pr coords[S] */
/* } */
/* */
#define HSMARK_DATA struct {word length; byte width, height, flags, res; word imlen; byte far *image; byte far *colour; }
/* usage: HSMARK_DATA will give the following structure */
/* */
/* struct */
/* { */
/* word length; */
/* byte width, */
/* height, */
/* flags, */
/* res; */
/* word imlen; */
/* byte far *image; */
/* byte far *colour; */
/* } */
/* */
#define HSLPC_DATA struct { word length; word count; }
/* usage: HSLPC_DATA will give the following structure */
/* */
/* struct */
/* { */
/* word length; */
/* word count; */
/* } */
/* */
#define HRLPC_DATA struct { word length; word count; }
/* usage: HRLPC_DATA will give the following structure */
/* */
/* struct */
/* { */
/* word length; */
/* word count; */
/* } */
/* */
#define HQCP_DATA struct { word length; coord_pr coord1; }
/* usage: HQCP_DATA will give the following structure */
/* */
/* struct */
/* { */
/* word length; */
/* coord_pr coord1; */
/* } */
/* */
#define HQDFPAL_DATA struct {word length; long table[16]; }
/* usage: HQDFPAL_DATA will give the following structure */
/* */
/* struct */
/* { */
/* word length; */
/* long table[16]; */
/* } */
/* */
#define HSPAL_DATA struct { word length; byte paldata[769]; }
/* usage: HSPAL_DATA will give the following structure */
/* */
/* struct */
/* { */
/* word length; */
/* byte paldata[769]; */
/* } */
/* */
#define HRPAL_DATA HSPAL_DATA
/* usage: HRPAL uses an HSPAL data block */
/* */
#define HSFPAL_DATA struct { word length; word format; byte paldata[769]; }
/* usage: HSFPAL_DATA will give the following structure */
/* */
/* struct */
/* { */
/* word length; */
/* word format; */
/* byte paldata[769]; */
/* } */
/* */
#define HRFPAL_DATA HSFPAL_DATA
/* usage: HRFPAL uses an HSFPAL data block */
/* */
#define HSAFP_DATA struct { word length; byte far *address; byte flags; }
/* usage: HSAFP will give the following structure */
/* */
/* struct */
/* { */
/* word length; */
/* byte far *address; */
/* byte flags; */
/* } */
/* */
#define ASCELL_DATA struct { word length; byte width,height; }
/* usage: ASCELL will give the following structure */
/* */
/* struct */
/* { */
/* word length; */
/* byte width, */
/* height; */
/* } */
/* */
#define ASGO_DATA struct { word length; coord_pr coord; }
/* usage: ASGO_DATA will give the following structure */
/* */
/* struct */
/* { */
/* word length; */
/* coord_pr coord; */
/* } */
/* */
#define HDLINE_DATA(S) struct { word length; dcoord dcoords[S]; }
/* usage: HDLINE_DATA(size) will give the following structure */
/* */
/* struct */
/* { */
/* word length; */
/* dcoord dcoords[size]; */
/* } */
/* */
#define HPEL_DATA(S) struct { word length; pel_pr coord[S];}
/* usage: HPEL_DATA(size) will give the following structure */
/* */
/* struct */
/* { */
/* word length; */
/* pel_pr coord[size]; */
/* } */
/* */
#define HRPEL_DATA struct { word length; byte far *address; coord_pr coord; word pel_count; }
/* usage: HRPEL_DATA will give the following structure */
/* */
/* struct */
/* { */
/* word length; */
/* byte far *address; */
/* coord_pr coord; */
/* word pel_count; */
/* } */
/* */
#define HPSTEP_DATA struct { word length; coord_pr coord; byte far *def_address,*src_address; }
/* usage: HPSTEP_DATA will give the following structure */
/* */
/* struct */
/* { */
/* word length; */
/* coord_pr coord; */
/* byte far *def_address, */
/* *src_address; */
/* } */
/* */
#define HCPSTEP_DATA struct { word length; byte far *def_address,*src_address; }
/* usage: HCPSTEP_DATA will give the following structure */
/* */
/* struct */
/* { */
/* word length; */
/* byte far *def_address, */
/* *src_address; */
/* } */
/* */
#define HRSTEP_DATA struct { word length; coord_pr coord; byte far *def_address,*tgt_address; }
/* usage: HRSTEP_DATA will give the following structure */
/* */
/* struct */
/* { */
/* word length; */
/* coord_pr coord; */
/* byte far *def_address, */
/* *tgt_address; */
/* } */
/* */
#define HSBMAP_DATA struct { word length; byte flags, format; byte far *bmap_addr; word width, height; }
/* usage: HSBMAP_DATA will give the following structure */
/* */
/* struct */
/* { */
/* word length; */
/* byte flags, */
/* format; */
/* byte far *bmap_addr; */
/* word width, */
/* height; */
/* } */
/* */
#define HQBMAP_DATA struct { word length; byte flags, format; byte far *bmap_addr; word width, height; coord_pr coord; word wind_width, wind_height;}
/* usage: HQBMAP_DATA will give the following structure */
/* */
/* struct */
/* { */
/* word length; */
/* byte flags, */
/* format; */
/* byte far *bmap_addr; */
/* word width, */
/* height; */
/* coord_pr coord; */
/* word wind_width, */
/* wind_height; */
/* } */
/* */
#define HBMC_DATA struct {word length;word flags,blk_width,blk_height; byte dst_format,reserved1;byte far *dst_addr;word dst_width,dst_height;coord_pr dst_coord; byte src_format,reserved2;byte far *src_addr;word src_width,src_height;coord_pr src_coord;\
byte pat_format,reserved3;byte far *pat_addr;word pat_width,pat_height;coord_pr pat_coord;}
/* usage: HBMC_DATA will give the following structure */
/* */
/* struct */
/* { */
/* word length; */
/* word flags, */
/* blk_width, */
/* blk_height; */
/* */
/* byte dst_format, */
/* reserved1; */
/* byte far *dst_addr; */
/* word dst_width, */
/* dst_height; */
/* coord_pr dst_coord; */
/* */
/* byte src_format, */
/* reserved2; */
/* byte far *src_addr; */
/* word src_width, */
/* src_height; */
/* coord_pr src_coord; */
/* */
/* byte pat_format, */
/* reserved3; */
/* byte far *pat_addr; */
/* word pat_width, */
/* pat_height; */
/* coord_pr pat_coord; */
/* */
/* } */
#define HSPRITE_DATA struct { word length; coord_pr coord; }
/* usage: HSPRITE will give the following structure */
/* */
/* struct */
/* { */
/* word length; */
/* coord_pr coord; */
/* } */
/* */
#define HSSPRITE_DATA struct { word length; byte flags,res,hotx,hoty; byte far *image;word width,height;\
word col1_green, col1_red, col1_blue, col2_green, col2_red, col2_blue; }
/* usage: HSSPRITE_DATA will give the following structure */
/* */
/* struct */
/* { */
/* word length; */
/* byte flags, */
/* res, */
/* hotx, */
/* hoty; */
/* byte far *image; */
/* word width, */
/* height; */
/* word col1_green, */
/* col1_red, */
/* col1_blue, */
/* col2_green, */
/* col2_red, */
/* col2_blue; */
/* } */
#define HSDW_DATA struct { word length; coord_pr coord; word width,height;}
/* usage: HSDW_DATA will give the following structure */
/* */
/* struct */
/* { */
/* word length; */
/* coord_pr coord; */
/* word width, */
/* height; */
/* } */
/* */
#define HRWVEC_DATA(S) struct { word length; byte flags, reserved; byte far *buffer; coord_pr coords[S]; }
/* usage: HRWVEC_DATA(size) will give the following structure */
/* */
/* struct */
/* { */
/* word length; */
/* byte flags, */
/* reserved; */
/* byte far *buffer; */
/* coord_pr coords[size]; */
/* } */
/* */
/* Font file definition */
/* This is the layout of the font file header */
/* All the address fields within the CSD's (Character Set Definition) */
/* are offsets within the file. To these should be added the address */
/* at which the font is loaded to give the correct values. */
/* */
struct FontFileDefn
{
word no_pages; /* no of code pages in the file (size of page_array) */
word def_page; /* default page index (into page_array) */
word alt_page; /* alternate default page index (into page_array) */
struct
{
byte code_page_id[4]; /* code page id */
word csd_offset; /* offset within file of CSD block */
} page_array[1]; /* array of code page ID's and CSD offsets */
};